package test1225;

public class Test12 {
    public static void main(String[] args) {
        // 数组1
        int[] arr = {1, 2, 3, 4, 5};

        // 数组2
        int[] brr = {3, 4, 5, 6, 7};

        // 获取差集
        int[] crr = m12(arr, brr);

        // 打印差集
        for (int c : crr) {
            System.out.println(c);
        }
    }

    // 返回arr与brr的差集
    public static int[] m12(int[] arr, int[] brr) {
        // 临时数组用来存放差集元素，最大可能的大小是第一个数组的长度
        int[] temp = new int[arr.length];
        int index = 0;

        // 遍历第一个数组
        for (int i = 0; i < arr.length; i++) {
            boolean found = false;

            // 遍历第二个数组
            for (int j = 0; j < brr.length; j++) {
                if (arr[i] == brr[j]) {  // 如果找到相同的元素，标记为 found
                    found = true;
                    break;  // 找到后跳出第二个循环
                }
            }

            // 如果该元素不在第二个数组中，则它是差集的一部分
            if (!found) {
                temp[index] = arr[i];  // 将该元素加入临时数组
                index++;                // 更新临时数组的下标
            }
        }

        // 创建最终的差集数组，并把临时数组中的元素复制过来
        int[] crr = new int[index];
        for (int i = 0; i < index; i++) {
            crr[i] = temp[i];
        }

        // 返回差集数组
        return crr;
    }
}
